package mapper;

import bean.SetBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ISetMapper {
    /**
     * 按房间编号查询该房间的设施集合
     *
     * @param roomId
     * @return 设施集合
     */
    List<SetBean> findByRoomId(Integer roomId);

    /**
     * 添加设施损坏记录，同时将房间状态修改为”设施损坏“
     *
     * @param setBean 损坏设施对象
     * @param roomId  房间编号
     */

    void add(@Param("setBean") SetBean setBean,
             @Param("roomId") Integer roomId);

    /**
     * 处理损坏设施
     * 1、将指定设施编号的记录，状态修改为”已解决“
     * 2、统计该房间中，”未解决“设施的数量
     * 3、如果数量为0，说明该房间中没有损坏设施，将房间状态修改为“正常”
     * 4、如果数量不为0，房间状态继续是”设施损坏“
     *
     * @param setId  损坏设施编号
     * @param roomId 房间编号
     */
    void handle(@Param("setId") Integer setId,
                @Param("roomId") Integer roomId);

    /**
     * 统计该房间中，”未解决“设施的数量
     *
     * @param roomId 房间id
     * @return
     */
    Integer unSettleCount(Integer roomId);

    /**
     * 修改房间状态
     *
     * @param roomId 房间编号
     */
    public void updateRoom(Integer roomId);


}
